<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    class HYError {
      constructor(message, code) {
        this.errmessage = message;
        this.errCode = code
      }
    }
    /* 
      throw 抛出异常   停止执行后续代码
    */
    //  1.函数中的代码遇到throw之后，后边的代码都不执行
    // 2.通过throw抛出一些具体的错误信息
    function foo() {
      console.log("foo function1");
      console.log("foo function2");
      console.log("foo function3");
      // 1. throw number/string/boolean
      // 2. 抛出一个对象
      // throw new HYError('错误信息', -1001)
      // 3.使用Error类 ：将错误函数的调用栈以及位置信息
      throw new Error("我是错误信息")
      console.log("foo function4");
      console.log("foo function5");
      console.log("foo function6");
      console.log("foo function7");
      console.log("foo function8");
    }

    foo()

  </script>
</body>

</html>